暫定為手機遊戲,那就讓基本子彈自動射擊(手機操控不意,讓玩家只做簡易核心的操作就好) ,先把上一篇製作好的子彈加在Player上,開啟PlayerControl來多加幾行
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerControl : MonoBehaviour
{
private Animator anim;
private Rigidbody2D rig;
[SerializeField]float speed = 5f;
//序列化一個物件名叫buller預設為空值(null)
[SerializeField] GameObject bullet = null;
float horizontalMove;
private void Start()
{
anim = GetComponent<Animator>();
rig = GetComponent<Rigidbody2D>();
//反覆的呼叫"Attack"一秒後開始,反覆時間為一秒
InvokeRepeating("Attack", 1f, 1f);
}
private void Update()
{
horizontalMove = Input.GetAxisRaw("Horizontal");
}
private void FixedUpdate()
{
Move();
}
void Move()
{
rig.velocity =
new Vector2(horizontalMove * speed, rig.velocity.y);
if (horizontalMove > 0.2f)
{
anim.SetBool("right",true);
}
if (horizontalMove < -0.2f)
{
anim.SetBool("left", true);
}
if(horizontalMove < 0.2f && horizontalMove > -0.2f)
{
anim.SetBool("right", false);
anim.SetBool("left", false);
}
}
//新增一個Attack
void Attack()
{
//生成物件(bullet(物件名稱),物件位置,物件角度)
Instantiate(bullet,transform.position,Quaternion.identity);
}
}
回到unity上要記得把子彈裝到Player上,點選預置物的子彈(要用project裡的,場景上的還是算物件)拖曳到player程式上的bullet即可
接下來放一個敵人,從最小的開始放,放上後也記的給剛體跟碰撞器,記得改一下剛體的重力跟碰撞器的大小,最後給敵人也新增一個程式,暫定EnemyAI,開啟EnemyAI程式稍微編輯一下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemyAI : MonoBehaviour
{
//序列化一個速度 先給數值3
[SerializeField] float speed = 3f;
//給一個向右的布林值
bool right;
//開始
void Start()
{
//一個始設定向右走
right = true;
}
//持續
void Update()
{
//移動
Move();
}
//新增一個Move
void Move()
{
//如果right不是ture(或寫成right==false)
if (!right)
{
//位置的轉換(速度*(-1)*時間.差量時間,0,0)
transform.Translate(speed * -1 * Time.deltaTime, 0, 0);
//如果(物件的X位置小於等於0.5)
if (gameObject.transform.position.x <= 0.5)
//向右的布林值=true
right = true;
}
//如果right是ture(或寫成right==true)
if (right)
{
//位置的轉換(速度*(1)*時間.差量時間,0,0)
transform.Translate(speed * 1 * Time.deltaTime, 0, 0);
//如果(物件的X位置大於等於5.5)
if (gameObject.transform.position.x >=5.5)
//向右的布林值=false
right = false;
}
}
}
現在就能有個自動發射子彈的Player跟一個會左右移動的敵人,下一篇再來讓他們互相傷害囉~